<?php
final class framework
{
	public static function run() {		
		// 加载系统配置参数
		config::load();
		//初始化时间设定
		timer::init();
		//初始化全局对象
		$user = loadModel('user');
		$member = loadModel('member');		
        header("Content-type: text/html; charset=utf-8");
		//初始化db
		global $db,$cache,$_user;
		//$db = get_db();
		//$cache 	= get_cache();
		//设置默认时区
		date_default_timezone_set("Asia/Shanghai");
				
		//开启SESSION
        session_set_cookie_params('3600');
        require_once(ROOT_DIR .'/classes/session.class.php');
        
		//分发请求到 system/module/action 执行
		//解析二级域
		//self::parse_sub_domain();
		//设置全局用户信息
       // self::set_site_user_seller();
        
		dispatcher::dispatch();
		//show_sql_list();
	}

}
/**
 * 获取基本配置信息
 * @author nicholas
 *
 */
class config
{
	public static function load()
	{
		self::$configs = require ROOT_DIR . '/config/config.php';
	}
	private static $configs = array();
}
/**
 * 时间类
 */
class timer
{
	public function init()
	{
		
	}
}
/**
 * 加载classes目录下的类文件，类文件命名为$classname.class.php
 * @param $classname
 */
function loadClass($classname)
{
	$file = ROOT_DIR . '/classes' . $classname . '.class.php';
	if(!file_exists($file))
	{
		return false;
	}else
	{
		require_once($file);
	}
}
/**
 * 加载zend框架中的类
 * @param $class
 */
function loadZendClass($class) {
	require_once(ROOT_DIR . '/framework/Zend/Loader.php');
	$loader = new Zend_Loader();
	$loader->loadClass($class);
}
/**
 * 加载models目录下的文件
 * @param $model
 */
function loadModel($model) {
	global $cache,$$model;
	if(!$$model instanceof Zend_Db_Table_Model){		
	    $db = get_db();	   
	    $file = ROOT_DIR . '/models/' . $model . '.php';
	    loadZendClass('Zend_Db_Table');
	    loadZendClass('Zend_Db_Table_Abstract');
	    loadZendClass('Zend_Db_Table_Row');
	    loadZendClass('Zend_Db_Table_Rowset');
	    loadZendClass('Zend_Db_Table_Model');
		Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
	    Zend_Db_Table::setDefaultAdapter($db);
	    if (!file_exists($file)) {
	        return false;
	    }else{
	        require_once(Pcv( $file ));
	    }
	    $$model = new $model;
	}
	$$model->cache_key = '';

    return $$model;
}
/**
 * 获取数据库对象
 * @param $db_config
 */
function get_db($db_config = one)
{
	$param = array(
	
	);
}